package com.example.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.config.ResponseVO;
import com.example.pojo.*;
import com.example.pojo.dto.DishRecipeDTO;
import com.example.pojo.dto.DishWithAllergyInfo;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.Date;
import java.util.List;

public interface DishesService {
    // 查询所有的菜品
    ResponseEntity<ResponseVO<List<DishesInfo>>> selectAllDishes();
    //分页
    IPage<DishesInfo> getDishesByName(int currentPage, int limit,String dishesName);
    IPage<DishesInfo>  getAllDishesPage(int currentPage,int limit);
    int batchDeleteDishesInfo(List<Integer> ids);
    // 添加和修改菜品
    ResponseEntity<ResponseVO<String>> addOrUpdateDish(DishesInfo dishesInfo);
    // 删除菜品
    ResponseEntity<ResponseVO<String>> deleteDish(Integer dishesInfoId);

    // 新增或修改食谱
    ResponseEntity<ResponseVO<String>> addOrUpdateRecipeInfo(RecipeInfo recipeInfo);
    // 根据食谱id查询
    ResponseEntity<ResponseVO<List<DishesInfo>>> getDishesByRecipeId(Integer recipeId);

    // 根据日期班级查询食谱
    ResponseEntity<ResponseVO<List<DishWithAllergyInfo>>> getRecipeByDateOrClassId(String date, Long classId);
    ResponseEntity<ResponseVO<List<DishesInfo>>> getRecipeByDate(String date);

    // 添加和修改日期食谱
    ResponseEntity<ResponseVO<String>> addOrUpdateRecipeDate(RecipeDate recipeDate);

    // 新增菜品-食谱关联表


    // 获取菜品加食谱全部的数据
    ResponseEntity<ResponseVO<List<DishRecipeDTO>>> getDishRecipeDtoList();
}
